<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  <script>
    // 自定义构造函数
    function Studance(name,age) {
      this.name = name;
      this.age = age;
      this.fuu = function () {
        console.log(this.age);
      }
    }
    // 生成对象的实例
    var st1 = new Studance("试试",115);
    var st2 = new Studance("自杀",112);

    // new功能
      // 创建一个对象
      // 将函数内部的this指向一个新对象
      // 执行函数内部的代码
      // 将新对象作为一个返回值

      //   function Studance(name,age) {
      //     // var ins = new Object();被省略
      //     // this = ins;被省略
      //   this.name = name;
      //   this.age = age;
      //   this.fuu = function () {
      //     console.log(this.age);
      //   }
      //   // return ins;被省略
      // }
    // 调用方法
    st1.fuu();
    st2.fuu();
    // 判断一个对象的具体类型
    console.log(st1 instanceof Studance);

    // 每个实例对象都通过一个constructor属性，指向创造该实例的构造函数
    // constructor属性，构造器，构造函数
    var arr1 = new Array(111,22,33);
    console.log(arr1);
    console.log(arr1 instanceof Array);
    console.log(arr1.constructor);
    console.log(st1.constructor);
  </script>
</body>
</html>